package com.huilian.iotbox.client.service;

import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.dto.*;
import com.huilian.iotbox.data.po.Member;
import com.huilian.iotbox.data.vo.MemberVo;
import com.huilian.iotbox.data.vo.PrivateDomainOperationWelfareVo;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.List;

public interface MemberService {
    Member getMemberByKeyWordByALiUnionId(String keyWord);

    Integer addMember(Member memberInfo);

    MemberDto queryById(Long memberId);

    ServerResponse queryInfoById(MemberDto memberDto);


    int updateById(Member m);

    ServerResponse findMemberOrderList(CommonOrderDto commonOrderDto);

    /**
     * 查询单个订单详情
     */
    ServerResponse findMemberOrderOne(CommonOrderDto commonOrderDto);

    ServerResponse aliLogin(AliUserDto aliUserDto);

    ServerResponse getPhoneNumber(MemberDto memberDto) throws Exception;

    ServerResponse getEncryptCheckCode(MemberDto memberDto, HttpServletRequest request) throws IOException, NoSuchAlgorithmException;


    ServerResponse updateInfo(MemberDto member);

    void delete(Long id);

    Member getMemberByWeChatUnionId(String keyWord);


    ServerResponse noticeAppLoginSuc(MemberDto member);


    Member getMemberByWeChatOpenId(String openId);

    Member findBasicInformationById(Long memberId);

    ServerResponse findUnionIdThereById(MemberDto memberDto);

    ServerResponse acquiredInfo(MemberDto memberFromReq);

    Member getMemberByWeChatOfficialAccountOpenId(String officialAccountOpenId);

    List<Member> findAllMemberByCondition(Member memberCondition);

}
